#################################################################################
### DO NOT ADD COUNTRY-SPECIFIC EFFECTS TO THIS FILE TO AVOID MERGE CONFLICTS ###
### ADD THEM TO THE SCRIPTED EFFECTS IN 00_laws_scripted_effects.txt INSTEAD! ###
### IF ADDING NEW LAWS, UPDATE history/general/00_system.txt                  ###
#################################################################################

ideas = {
	economy = {
		law = yes
		use_list_view = yes

		undisturbed_isolation = {
			on_add = {
				log = "[GetLogRoot]: add idea undisturbed_isolation"
				set_temp_variable = { law_level = 7 }
				economy_laws_on_add_effect = yes
			}
			level = 7
			removal_cost = -1

			allowed = { always = no }
			cancel_if_invalid = no

			modifier = {
				consumer_goods_expected_value = 0.50
				production_speed_industrial_complex_factor = -0.5
				production_speed_arms_factory_factor = -0.5
				production_speed_dockyard_factor = -0.5
				conversion_cost_civ_to_mil_factor = 0.5
				conversion_cost_mil_to_civ_factor = 0.5
				generate_wargoal_tension = 1.00
				lend_lease_tension = 0.50
				send_volunteers_tension = 0.50
				guarantee_tension = 0.75
				max_fuel_factor = -0.45
				fuel_gain_factor = -0.6
				agency_upgrade_time = 1.0
				factory_energy_consumption = -0.3
			}

			allowed_to_remove = {
				OR = {
					has_war_support > 0.5
					has_war = yes
				}
			}

			ai_will_do = { factor = 0 }
		}

		isolation = {
			on_add = {
				log = "[GetLogRoot]: add idea isolation"
				set_temp_variable = { law_level = 6 }
				economy_laws_on_add_effect = yes
			}
			level = 6
			removal_cost = -1

			allowed = { always = no }
			cancel_if_invalid = no

			modifier = {
				consumer_goods_expected_value = 0.4
				production_speed_industrial_complex_factor = -0.4
				production_speed_arms_factory_factor = -0.4
				production_speed_dockyard_factor = -0.4
				conversion_cost_civ_to_mil_factor = 0.4
				conversion_cost_mil_to_civ_factor = 0.4
				generate_wargoal_tension = 1.00
				lend_lease_tension = 0.3
				send_volunteers_tension = 0.3
				guarantee_tension = 0.5
				max_fuel_factor = -0.35
				fuel_gain_factor = -0.5
				agency_upgrade_time = 0.8
				factory_energy_consumption = -0.3
			}

			allowed_to_remove = {
				OR = {
					has_war_support > 0.75
					has_war = yes
				}
			}

			ai_will_do = { factor = 0 }
		}

		civilian_economy = {
			on_add = {
				log = "[GetLogRoot]: add idea civilian_economy"
				set_temp_variable = { law_level = 5 }
				economy_laws_on_add_effect = yes
			}
			level = 5
			removal_cost = -1

			modifier = {
				political_power_gain = 0.15
				consumer_goods_expected_value = 0.35
				production_speed_industrial_complex_factor = -0.3
				production_speed_arms_factory_factor = -0.3
				conversion_cost_civ_to_mil_factor = 0.3
				conversion_cost_mil_to_civ_factor = 0.3
				max_fuel_factor = -0.25
				fuel_gain_factor = -0.4
				factory_energy_consumption = -0.3
			}

			default = yes
			cancel_if_invalid = no

			ai_will_do = { factor = 0 }
		}

		low_economic_mobilisation = {
			on_add = {
				log = "[GetLogRoot]: add idea low_economic_mobilisation"
				set_temp_variable = { law_level = 4 }
				economy_laws_on_add_effect = yes
			}
			level = 4
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				low_economic_mobilisation_available = yes
			}

			modifier = {
				political_power_gain = 0.1
				unit_limit_law_bonus = 4
				consumer_goods_expected_value = 0.3
				production_speed_industrial_complex_factor = -0.1
				production_speed_arms_factory_factor = -0.1
				fuel_gain_factor = -0.25
				factory_energy_consumption = -0.15
			}

			ai_will_do = { factor = 600 }
		}

		partial_economic_mobilisation = {
			on_add = {
				log = "[GetLogRoot]: add idea partial_economic_mobilisation"
				set_temp_variable = { law_level = 3 }
				economy_laws_on_add_effect = yes
			}
			level = 3
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				partial_economic_mobilisation_available = yes
			}

			modifier = {
				political_power_gain = 0.05
				unit_limit_law_bonus = 8
				consumer_goods_expected_value = 0.25
				production_speed_arms_factory_factor = 0.1
				conversion_cost_civ_to_mil_factor = -0.1
				conversion_cost_mil_to_civ_factor = -0.1
				fuel_gain_factor = -0.1
			}

			ai_will_do = {
				factor = 700
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = low_economic_mobilisation }
				}
			}
		}

		war_economy = {
			on_add = {
				log = "[GetLogRoot]: add idea war_economy"
				set_temp_variable = { law_level = 2 }
				economy_laws_on_add_effect = yes
			}
			level = 2
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				war_economy_available = yes
			}

			modifier = {
				unit_limit_law_bonus = 12
				consumer_goods_expected_value = 0.2
				production_speed_arms_factory_factor = 0.2
				conversion_cost_civ_to_mil_factor = -0.2
				conversion_cost_mil_to_civ_factor = -0.2
				factory_energy_consumption = 0.25
			}

			ai_will_do = {
				factor = 60
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = partial_economic_mobilisation }
				}
				modifier = {
					factor = 20
					manpower_per_military_factory > 3000
				}
			}
		}

		tot_economic_mobilisation = {
			on_add = {
				log = "[GetLogRoot]: add idea tot_economic_mobilisation"
				set_temp_variable = { law_level = 1 }
				economy_laws_on_add_effect = yes
			}
			level = 1
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				tot_economic_mobilisation_available = yes
			}

			modifier = {
				political_power_gain = -0.1
				unit_limit_law_bonus = 16
				consumer_goods_expected_value = 0.15
				conscription = -0.03
				production_speed_arms_factory_factor = 0.3
				conversion_cost_civ_to_mil_factor = -0.3
				conversion_cost_mil_to_civ_factor = -0.3
				factory_energy_consumption = 0.5
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = war_economy }
				}
				modifier = { #don't increase if it would drop conscription to zero
					factor = 0
					OR = {
						current_conscription_amount < 0.06
						manpower_per_military_factory < 10000
					}
				}
				modifier = { #Weight will overly overtake war economy if the AI has plenty of manpower
					factor = 100
					manpower_per_military_factory > 15000
				}
			}
		}
	}

	trade_laws = {
		law = yes
		use_list_view = yes

		uncontrolled_exports = {
			on_add = {
				log = "[GetLogRoot]: add idea uncontrolled_exports"
				set_temp_variable = { law_level = 5 }
				trade_laws_on_add_effect = yes
			}
			picture = isolation
			level = 5
			removal_cost = -1
			cancel_if_invalid = no

			allowed = { always = no }

			modifier = {
				min_export = 0.25
				consumer_goods_expected_value = 0.05
				civilian_intel_to_others = 40.0
				navy_intel_to_others = 40.0
				agency_upgrade_time = 0.15
				cic_construction_boost = 0.15
			}

			allowed_to_remove = {
				has_war = yes
			}
		}

		free_trade = {
			on_add = {
				log = "[GetLogRoot]: add idea free_trade"
				set_temp_variable = { law_level = 4 }
				trade_laws_on_add_effect = yes
			}
			level = 4
			removal_cost = -1

			modifier = {
				min_export = 0.8
				industrial_capacity_factory = 0.15
				industrial_capacity_dockyard = 0.15
				production_speed_buildings_factor = 0.15
				research_speed_factor = 0.1
				civilian_intel_to_others = 40.0
				navy_intel_to_others = 20.0
				cic_construction_boost_factor = 0.05
			}

			ai_will_do = {
				factor = 1
				modifier = {
					factor = 0
					AND = {
						is_major = yes
						any_enemy_country = {
							is_major = yes
						}
					}
				}
				modifier = {
					factor = 0
					check_variable = { resource_imported@steel > 0 }
				}
				modifier = {
					factor = 0
					NOT = { has_idea = free_trade }
					set_temp_variable = { steel_change = resource_produced@steel }
					if = {
						limit = { has_idea = limited_exports }
						multiply_temp_variable = { steel_change = 0.55 }
					}
					else = {
						multiply_temp_variable = { steel_change = 0.3 }
					}

					set_temp_variable = { steel_deficit_check = resource@steel }
					subtract_from_temp_variable = { steel_deficit_check = steel_change }
					check_variable = { steel_deficit_check < num_of_military_factories } #keep some in reserve
				}
			}
		}

		export_focus = {
			on_add = {
				log = "[GetLogRoot]: add idea export_focus"
				set_temp_variable = { law_level = 3 }
				trade_laws_on_add_effect = yes
			}
			level = 3
			removal_cost = -1

			modifier = {
				min_export = 0.5
				industrial_capacity_factory = 0.1
				industrial_capacity_dockyard = 0.1
				production_speed_buildings_factor = 0.1
				research_speed_factor = 0.05
				civilian_intel_to_others = 20.0
				navy_intel_to_others = 10.0
				cic_construction_boost_factor = 0.1
			}

			default = yes

			ai_will_do = {
				factor = 0
				modifier = {
					add = 100
					has_idea = free_trade

					set_temp_variable = { resource_gain_from_law_change = resource_produced@steel }
					multiply_temp_variable = { resource_gain_from_law_change = 0.3 }
					check_variable = { resource_imported@steel > resource_gain_from_law_change }
				}
			}
		}

		limited_exports = {
			on_add = {
				log = "[GetLogRoot]: add idea limited_exports"
				set_temp_variable = { law_level = 2 }
				trade_laws_on_add_effect = yes
			}
			level = 2
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				OR = {
					has_idea = partial_economic_mobilisation
					has_idea = war_economy
					has_idea = tot_economic_mobilisation
				}
			}

			modifier = {
				min_export = 0.25
				industrial_capacity_factory = 0.05
				industrial_capacity_dockyard = 0.05
				production_speed_buildings_factor = 0.05
				research_speed_factor = 0.01
				civilian_intel_to_others = 10.0
				navy_intel_to_others = 5
				lend_lease_tension = 0.20
				cic_construction_boost = -0.05
			}

			ai_will_do = {
				factor = 0
				modifier = {
					add = 1000
					AND = {
						is_major = yes
						any_enemy_country = {
							is_major = yes
						}
					}
				}
				modifier = {
					add = 100
					has_idea = export_focus
					is_major = yes

					set_temp_variable = { resource_gain_from_law_change = resource_produced@steel }
					multiply_temp_variable = { resource_gain_from_law_change = 0.25 }
					check_variable = { resource_imported@steel > resource_gain_from_law_change }
				}
			}
		}

		closed_economy = {
			on_add = {
				log = "[GetLogRoot]: add idea closed_economy"
				set_temp_variable = { law_level = 1 }
				trade_laws_on_add_effect = yes
			}
			level = 1
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				has_war = yes
				OR = {
					has_idea = war_economy
					has_idea = tot_economic_mobilisation
				}
			}

			modifier = {
				min_export = 0
				lend_lease_tension = 0.40
				cic_construction_boost = -0.1
			}

			rule = {
				can_access_market = no
				desc = can_not_access_market_closed_economy
			}

			ai_will_do = { factor = 0 } #never for AI
		}
	}

	mobilization_laws = {
		law = yes
		use_list_view = yes

		disarmed_nation = {
			on_add = {
				log = "[GetLogRoot]: add idea disarmed_nation"
				set_temp_variable = { law_level = 7 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 7
			removal_cost = -1
			cancel_if_invalid = no

			modifier = {
				conscription = 0.01
			}
		}

		volunteer_only = {
			on_add = {
				log = "[GetLogRoot]: add idea volunteer_only"
				set_temp_variable = { law_level = 6 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 6
			removal_cost = -1
			cancel_if_invalid = no
			default = yes

			modifier = {
				conscription = 0.015
			}

			ai_will_do = { factor = 10 }
		}

		limited_conscription = {
			on_add = {
				log = "[GetLogRoot]: add idea limited_conscription"
				set_temp_variable = { law_level = 5 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 5
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				limited_conscription_available = yes
			}

			modifier = {
				conscription = 0.025
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = volunteer_only }
				}
				modifier = { # the economy is mobilised enough - conscript people!
					factor = 50
					OR = {
						has_idea = partial_economic_mobilisation
						has_idea = war_economy
					}
				}
				modifier = { #prio if low on manpower
					factor = 20
					manpower_per_military_factory < 1500
				}
				modifier = { #Telling AI Canada to stop trying to raise conscription law even when they have this idea
					factor = 0
					has_idea = CAN_resistance_to_conscription
				}
			}
		}

		extensive_conscription = {
			on_add = {
				log = "[GetLogRoot]: add idea extensive_conscription"
				set_temp_variable = { law_level = 4 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 4
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				extensive_conscription_available = yes
			}

			modifier = {
				conscription = 0.05
				training_time_factor = 0.1
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = limited_conscription }
				}
				modifier = {
					factor = 50  #The tag has enough equipment stockpiled but doesn't have manpower
					amount_manpower_in_deployment_queue < 40000   # Less than 4 divs in training
					has_equipment = { infantry_equipment > 5000 } # And has enough equipment in stockpile to train new divisions
				}
				modifier = { #prio if low on manpower
					factor = 20
					manpower_per_military_factory < 2000
				}
				modifier = { #Telling AI Canada to stop trying to raise conscription law even when they have this idea
					factor = 0
					has_idea = CAN_resistance_to_conscription
				}
			}
		}

		service_by_requirement = {
			on_add = {
				log = "[GetLogRoot]: add idea service_by_requirement"
				set_temp_variable = { law_level = 3 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 3
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				service_by_requirement_available = yes
			}

			modifier = {
				conscription = 0.1
				industrial_capacity_factory = -0.1
				industrial_capacity_dockyard = -0.1
				production_speed_buildings_factor = -0.1
				training_time_factor = 0.2
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = extensive_conscription }
				}
				modifier = { #already mobilising
					factor = 0
					NOT = { check_variable = { target_conscription_amount = current_conscription_amount } }
				}
				modifier = { #ignore if high on manpower
					factor = 0
					manpower_per_military_factory > 3000
				}
				modifier = { #lower if decent manpower
					factor = 0.5
					manpower_per_military_factory > 1000
				}
				modifier = { #prio if low on manpower
					factor = 20
					manpower_per_military_factory < 700
				}
				modifier = { #Telling AI Canada to stop trying to raise conscription law even when they have this idea
					factor = 0
					has_idea = CAN_resistance_to_conscription
				}
			}
		}

		all_adults_serve = {
			on_add = {
				log = "[GetLogRoot]: add idea all_adults_serve"
				set_temp_variable = { law_level = 2 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 2
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				all_adults_serve_available = yes
			}

			modifier = {
				conscription = 0.2
				industrial_capacity_factory = -0.3
				industrial_capacity_dockyard = -0.3
				production_speed_buildings_factor = -0.3
				#XP from reinforcement penalty (small)
				training_time_factor = 0.3
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = service_by_requirement }
				}
				modifier = { #already mobilising
					factor = 0
					NOT = { check_variable = { target_conscription_amount = current_conscription_amount } }
				}
				modifier = { #ignore if high on manpower
					factor = 0
					manpower_per_military_factory > 2800
				}
				modifier = { #lower if decent manpower
					factor = 0.5
					manpower_per_military_factory > 1000
				}
				modifier = { #prio if low on manpower
					factor = 20
					manpower_per_military_factory < 600
				}
				modifier = { #Telling AI Canada to stop trying to raise conscription law even when they have this idea
					factor = 0
					has_idea = CAN_resistance_to_conscription
				}
			}
		}

		scraping_the_barrel = {
			on_add = {
				log = "[GetLogRoot]: add idea scraping_the_barrel"
				set_temp_variable = { law_level = 1 }
				mobilisation_laws_on_add_effect = yes
			}
			level = 1
			removal_cost = -1
			cancel_if_invalid = no

			available = {
				scraping_the_barrel_available = yes
			}

			modifier = {
				conscription = 0.25
				industrial_capacity_factory = -0.4
				industrial_capacity_dockyard = -0.4
				production_speed_buildings_factor = -0.4
				training_time_factor = 0.5
			}

			ai_will_do = {
				factor = 10
				modifier = { #one step at a time
					factor = 0
					NOT = { has_idea = all_adults_serve }
				}
				modifier = { #already mobilising
					factor = 0
					NOT = { check_variable = { target_conscription_amount = current_conscription_amount } }
				}
				modifier = { #ignore if high on manpower
					factor = 0
					manpower_per_military_factory > 5000
				}
				modifier = { #lower if decent manpower
					factor = 0.5
					manpower_per_military_factory > 1000
				}
				modifier = { #prio if low on manpower
					factor = 20
					manpower_per_military_factory < 500
				}
				modifier = { #Telling AI Canada to stop trying to raise conscription law even when they have this idea
					factor = 0
					has_idea = CAN_resistance_to_conscription
				}
			}
		}
	}
}
